(function () {// 把 People这个作用域限定在这个函数内，就不会报错（同名）了；


  class People {
    name: String;
    age: number;
    constructor(name: String, age: number) {
      this.name = name;
      this.age = age;
    }
    call() {
      console.log("我是父类")
    }
  }
  class Man extends People {
    // super 就是带至 父类对象
    sex: String;
    /**
     * 如果在子类中写了构造函数
     * 在子类中必须使用super
     *  */
    constructor(name: String, age: number, sex: String) {
      /**
       * 父类需要的传给父类
       */
      super(name, age);
      /**
       * 自己用的,自己赋值给变量
       */
      this.sex = sex;
    }
    call() {
      super.call();
      // console.log("我是哦一个人")
    }
  }
  const p = new Man('as', 23, '男');
  p.call()
  console.log(p);
})();